﻿///////////////////////////////////////////////////////////////
// This is generated code. 
//////////////////////////////////////////////////////////////
// Code is generated using LLBLGen Pro version: 2.6
// Code is generated on: 
// Code is generated using templates: SD.TemplateBindings.SharedTemplates.NET20
// Templates vendor: Solutions Design.
// Templates version: 
//////////////////////////////////////////////////////////////
using System;
using SD.LLBLGen.Pro.ORMSupportClasses;

namespace Northwinddemo.DAL.HelperClasses
{
	
	// __LLBLGENPRO_USER_CODE_REGION_START AdditionalNamespaces
	// __LLBLGENPRO_USER_CODE_REGION_END
	
	/// <summary>
	/// Singleton implementation of the FieldInfoProvider. This class is the singleton wrapper through which the actual instance is retrieved.
	/// </summary>
	/// <remarks>It uses a single instance of an internal class. The access isn't marked with locks as the FieldInfoProviderBase class is threadsafe.</remarks>
	internal sealed class FieldInfoProviderSingleton
	{
		#region Class Member Declarations
		private static readonly IFieldInfoProvider _providerInstance = new FieldInfoProviderCore();
		#endregion
		
		/// <summary>private ctor to prevent instances of this class.</summary>
		private FieldInfoProviderSingleton()
		{
		}

		/// <summary>Dummy static constructor to make sure threadsafe initialization is performed.</summary>
		static FieldInfoProviderSingleton()
		{
		}

		/// <summary>Gets the singleton instance of the FieldInfoProviderCore</summary>
		/// <returns>Instance of the FieldInfoProvider.</returns>
		public static IFieldInfoProvider GetInstance()
		{
			return _providerInstance;
		}
	}

	/// <summary>Actual implementation of the FieldInfoProvider. Used by singleton wrapper.</summary>
	internal class FieldInfoProviderCore : FieldInfoProviderBase
	{
		/// <summary>Initializes a new instance of the <see cref="FieldInfoProviderCore"/> class.</summary>
		internal FieldInfoProviderCore()
		{
			Init();
		}

		/// <summary>Method which initializes the internal datastores.</summary>
		private void Init()
		{
			base.InitClass( (29 + 0));
			InitAlphabeticalListOfProductsEntityInfos();
			InitCategoriesEntityInfos();
			InitCategorySalesFor1997EntityInfos();
			InitCurrentProductListEntityInfos();
			InitCustomerAndSuppliersByCityEntityInfos();
			InitCustomerCustomerDemoEntityInfos();
			InitCustomerDemographicsEntityInfos();
			InitCustomersEntityInfos();
			InitEmployeesEntityInfos();
			InitEmployeeTerritoriesEntityInfos();
			InitInvoicesEntityInfos();
			InitOrderDetailsEntityInfos();
			InitOrderDetailsExtendedEntityInfos();
			InitOrdersEntityInfos();
			InitOrdersQryEntityInfos();
			InitOrderSubtotalsEntityInfos();
			InitProductsEntityInfos();
			InitProductsAboveAveragePriceEntityInfos();
			InitProductSalesFor1997EntityInfos();
			InitProductsByCategoryEntityInfos();
			InitQuarterlyOrdersEntityInfos();
			InitRegionEntityInfos();
			InitSalesByCategoryEntityInfos();
			InitSalesTotalsByAmountEntityInfos();
			InitShippersEntityInfos();
			InitSummaryOfSalesByQuarterEntityInfos();
			InitSummaryOfSalesByYearEntityInfos();
			InitSuppliersEntityInfos();
			InitTerritoriesEntityInfos();

			base.ConstructElementFieldStructures(InheritanceInfoProviderSingleton.GetInstance());
		}

		/// <summary>Inits AlphabeticalListOfProductsEntity's FieldInfo objects</summary>
		private void InitAlphabeticalListOfProductsEntityInfos()
		{
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "ProductId", typeof(System.Int32), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.ProductId, 0, 0, 10);
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "ProductName", typeof(System.String), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.ProductName, 40, 0, 0);
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "SupplierId", typeof(System.Int32), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.SupplierId, 0, 0, 10);
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "CategoryId", typeof(System.Int32), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.CategoryId, 0, 0, 10);
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "QuantityPerUnit", typeof(System.String), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.QuantityPerUnit, 20, 0, 0);
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "UnitPrice", typeof(System.Decimal), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.UnitPrice, 0, 4, 19);
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "UnitsInStock", typeof(System.Int16), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.UnitsInStock, 0, 0, 5);
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "UnitsOnOrder", typeof(System.Int16), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.UnitsOnOrder, 0, 0, 5);
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "ReorderLevel", typeof(System.Int16), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.ReorderLevel, 0, 0, 5);
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "Discontinued", typeof(System.Boolean), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.Discontinued, 0, 0, 0);
			base.AddElementFieldInfo("AlphabeticalListOfProductsEntity", "CategoryName", typeof(System.String), false, false, false, false,  (int)AlphabeticalListOfProductsFieldIndex.CategoryName, 15, 0, 0);
		}
		/// <summary>Inits CategoriesEntity's FieldInfo objects</summary>
		private void InitCategoriesEntityInfos()
		{
			base.AddElementFieldInfo("CategoriesEntity", "CategoryId", typeof(System.Int32), true, false, true, false,  (int)CategoriesFieldIndex.CategoryId, 0, 0, 10);
			base.AddElementFieldInfo("CategoriesEntity", "CategoryName", typeof(System.String), false, false, false, false,  (int)CategoriesFieldIndex.CategoryName, 15, 0, 0);
			base.AddElementFieldInfo("CategoriesEntity", "Description", typeof(System.String), false, false, false, true,  (int)CategoriesFieldIndex.Description, 1073741823, 0, 0);
			base.AddElementFieldInfo("CategoriesEntity", "Picture", typeof(System.Byte[]), false, false, false, true,  (int)CategoriesFieldIndex.Picture, 2147483647, 0, 0);
		}
		/// <summary>Inits CategorySalesFor1997Entity's FieldInfo objects</summary>
		private void InitCategorySalesFor1997EntityInfos()
		{
			base.AddElementFieldInfo("CategorySalesFor1997Entity", "CategoryName", typeof(System.String), false, false, false, false,  (int)CategorySalesFor1997FieldIndex.CategoryName, 15, 0, 0);
			base.AddElementFieldInfo("CategorySalesFor1997Entity", "CategorySales", typeof(System.Decimal), false, false, false, false,  (int)CategorySalesFor1997FieldIndex.CategorySales, 0, 4, 19);
		}
		/// <summary>Inits CurrentProductListEntity's FieldInfo objects</summary>
		private void InitCurrentProductListEntityInfos()
		{
			base.AddElementFieldInfo("CurrentProductListEntity", "ProductId", typeof(System.Int32), false, false, false, false,  (int)CurrentProductListFieldIndex.ProductId, 0, 0, 10);
			base.AddElementFieldInfo("CurrentProductListEntity", "ProductName", typeof(System.String), false, false, false, false,  (int)CurrentProductListFieldIndex.ProductName, 40, 0, 0);
		}
		/// <summary>Inits CustomerAndSuppliersByCityEntity's FieldInfo objects</summary>
		private void InitCustomerAndSuppliersByCityEntityInfos()
		{
			base.AddElementFieldInfo("CustomerAndSuppliersByCityEntity", "City", typeof(System.String), false, false, false, false,  (int)CustomerAndSuppliersByCityFieldIndex.City, 15, 0, 0);
			base.AddElementFieldInfo("CustomerAndSuppliersByCityEntity", "CompanyName", typeof(System.String), false, false, false, false,  (int)CustomerAndSuppliersByCityFieldIndex.CompanyName, 40, 0, 0);
			base.AddElementFieldInfo("CustomerAndSuppliersByCityEntity", "ContactName", typeof(System.String), false, false, false, false,  (int)CustomerAndSuppliersByCityFieldIndex.ContactName, 30, 0, 0);
			base.AddElementFieldInfo("CustomerAndSuppliersByCityEntity", "Relationship", typeof(System.String), false, false, false, false,  (int)CustomerAndSuppliersByCityFieldIndex.Relationship, 9, 0, 0);
		}
		/// <summary>Inits CustomerCustomerDemoEntity's FieldInfo objects</summary>
		private void InitCustomerCustomerDemoEntityInfos()
		{
			base.AddElementFieldInfo("CustomerCustomerDemoEntity", "CustomerId", typeof(System.String), true, true, false, false,  (int)CustomerCustomerDemoFieldIndex.CustomerId, 5, 0, 0);
			base.AddElementFieldInfo("CustomerCustomerDemoEntity", "CustomerTypeId", typeof(System.String), true, true, false, false,  (int)CustomerCustomerDemoFieldIndex.CustomerTypeId, 10, 0, 0);
		}
		/// <summary>Inits CustomerDemographicsEntity's FieldInfo objects</summary>
		private void InitCustomerDemographicsEntityInfos()
		{
			base.AddElementFieldInfo("CustomerDemographicsEntity", "CustomerTypeId", typeof(System.String), true, false, false, false,  (int)CustomerDemographicsFieldIndex.CustomerTypeId, 10, 0, 0);
			base.AddElementFieldInfo("CustomerDemographicsEntity", "CustomerDesc", typeof(System.String), false, false, false, true,  (int)CustomerDemographicsFieldIndex.CustomerDesc, 1073741823, 0, 0);
		}
		/// <summary>Inits CustomersEntity's FieldInfo objects</summary>
		private void InitCustomersEntityInfos()
		{
			base.AddElementFieldInfo("CustomersEntity", "CustomerId", typeof(System.String), true, false, false, false,  (int)CustomersFieldIndex.CustomerId, 5, 0, 0);
			base.AddElementFieldInfo("CustomersEntity", "CompanyName", typeof(System.String), false, false, false, false,  (int)CustomersFieldIndex.CompanyName, 40, 0, 0);
			base.AddElementFieldInfo("CustomersEntity", "ContactName", typeof(System.String), false, false, false, true,  (int)CustomersFieldIndex.ContactName, 30, 0, 0);
			base.AddElementFieldInfo("CustomersEntity", "ContactTitle", typeof(System.String), false, false, false, true,  (int)CustomersFieldIndex.ContactTitle, 30, 0, 0);
			base.AddElementFieldInfo("CustomersEntity", "Address", typeof(System.String), false, false, false, true,  (int)CustomersFieldIndex.Address, 60, 0, 0);
			base.AddElementFieldInfo("CustomersEntity", "City", typeof(System.String), false, false, false, true,  (int)CustomersFieldIndex.City, 15, 0, 0);
			base.AddElementFieldInfo("CustomersEntity", "Region", typeof(System.String), false, false, false, true,  (int)CustomersFieldIndex.Region, 15, 0, 0);
			base.AddElementFieldInfo("CustomersEntity", "PostalCode", typeof(System.String), false, false, false, true,  (int)CustomersFieldIndex.PostalCode, 10, 0, 0);
			base.AddElementFieldInfo("CustomersEntity", "Country", typeof(System.String), false, false, false, true,  (int)CustomersFieldIndex.Country, 15, 0, 0);
			base.AddElementFieldInfo("CustomersEntity", "Phone", typeof(System.String), false, false, false, true,  (int)CustomersFieldIndex.Phone, 24, 0, 0);
			base.AddElementFieldInfo("CustomersEntity", "Fax", typeof(System.String), false, false, false, true,  (int)CustomersFieldIndex.Fax, 24, 0, 0);
		}
		/// <summary>Inits EmployeesEntity's FieldInfo objects</summary>
		private void InitEmployeesEntityInfos()
		{
			base.AddElementFieldInfo("EmployeesEntity", "EmployeeId", typeof(System.Int32), true, false, true, false,  (int)EmployeesFieldIndex.EmployeeId, 0, 0, 10);
			base.AddElementFieldInfo("EmployeesEntity", "LastName", typeof(System.String), false, false, false, false,  (int)EmployeesFieldIndex.LastName, 20, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "FirstName", typeof(System.String), false, false, false, false,  (int)EmployeesFieldIndex.FirstName, 10, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "Title", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.Title, 30, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "TitleOfCourtesy", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.TitleOfCourtesy, 25, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "BirthDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)EmployeesFieldIndex.BirthDate, 0, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "HireDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)EmployeesFieldIndex.HireDate, 0, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "Address", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.Address, 60, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "City", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.City, 15, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "Region", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.Region, 15, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "PostalCode", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.PostalCode, 10, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "Country", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.Country, 15, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "HomePhone", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.HomePhone, 24, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "Extension", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.Extension, 4, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "Photo", typeof(System.Byte[]), false, false, false, true,  (int)EmployeesFieldIndex.Photo, 2147483647, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "Notes", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.Notes, 1073741823, 0, 0);
			base.AddElementFieldInfo("EmployeesEntity", "ReportsTo", typeof(Nullable<System.Int32>), false, true, false, true,  (int)EmployeesFieldIndex.ReportsTo, 0, 0, 10);
			base.AddElementFieldInfo("EmployeesEntity", "PhotoPath", typeof(System.String), false, false, false, true,  (int)EmployeesFieldIndex.PhotoPath, 255, 0, 0);
		}
		/// <summary>Inits EmployeeTerritoriesEntity's FieldInfo objects</summary>
		private void InitEmployeeTerritoriesEntityInfos()
		{
			base.AddElementFieldInfo("EmployeeTerritoriesEntity", "EmployeeId", typeof(System.Int32), true, true, false, false,  (int)EmployeeTerritoriesFieldIndex.EmployeeId, 0, 0, 10);
			base.AddElementFieldInfo("EmployeeTerritoriesEntity", "TerritoryId", typeof(System.String), true, true, false, false,  (int)EmployeeTerritoriesFieldIndex.TerritoryId, 20, 0, 0);
		}
		/// <summary>Inits InvoicesEntity's FieldInfo objects</summary>
		private void InitInvoicesEntityInfos()
		{
			base.AddElementFieldInfo("InvoicesEntity", "ShipName", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.ShipName, 40, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "ShipAddress", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.ShipAddress, 60, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "ShipCity", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.ShipCity, 15, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "ShipRegion", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.ShipRegion, 15, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "ShipPostalCode", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.ShipPostalCode, 10, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "ShipCountry", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.ShipCountry, 15, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "CustomerId", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.CustomerId, 5, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "CustomerName", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.CustomerName, 40, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "Address", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.Address, 60, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "City", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.City, 15, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "Region", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.Region, 15, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "PostalCode", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.PostalCode, 10, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "Country", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.Country, 15, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "Salesperson", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.Salesperson, 31, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "OrderId", typeof(System.Int32), false, false, false, false,  (int)InvoicesFieldIndex.OrderId, 0, 0, 10);
			base.AddElementFieldInfo("InvoicesEntity", "OrderDate", typeof(System.DateTime), false, false, false, false,  (int)InvoicesFieldIndex.OrderDate, 0, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "RequiredDate", typeof(System.DateTime), false, false, false, false,  (int)InvoicesFieldIndex.RequiredDate, 0, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "ShippedDate", typeof(System.DateTime), false, false, false, false,  (int)InvoicesFieldIndex.ShippedDate, 0, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "ShipperName", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.ShipperName, 40, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "ProductId", typeof(System.Int32), false, false, false, false,  (int)InvoicesFieldIndex.ProductId, 0, 0, 10);
			base.AddElementFieldInfo("InvoicesEntity", "ProductName", typeof(System.String), false, false, false, false,  (int)InvoicesFieldIndex.ProductName, 40, 0, 0);
			base.AddElementFieldInfo("InvoicesEntity", "UnitPrice", typeof(System.Decimal), false, false, false, false,  (int)InvoicesFieldIndex.UnitPrice, 0, 4, 19);
			base.AddElementFieldInfo("InvoicesEntity", "Quantity", typeof(System.Int16), false, false, false, false,  (int)InvoicesFieldIndex.Quantity, 0, 0, 5);
			base.AddElementFieldInfo("InvoicesEntity", "Discount", typeof(System.Single), false, false, false, false,  (int)InvoicesFieldIndex.Discount, 0, 0, 24);
			base.AddElementFieldInfo("InvoicesEntity", "ExtendedPrice", typeof(System.Decimal), false, false, false, false,  (int)InvoicesFieldIndex.ExtendedPrice, 0, 4, 19);
			base.AddElementFieldInfo("InvoicesEntity", "Freight", typeof(System.Decimal), false, false, false, false,  (int)InvoicesFieldIndex.Freight, 0, 4, 19);
		}
		/// <summary>Inits OrderDetailsEntity's FieldInfo objects</summary>
		private void InitOrderDetailsEntityInfos()
		{
			base.AddElementFieldInfo("OrderDetailsEntity", "OrderId", typeof(System.Int32), true, true, false, false,  (int)OrderDetailsFieldIndex.OrderId, 0, 0, 10);
			base.AddElementFieldInfo("OrderDetailsEntity", "ProductId", typeof(System.Int32), true, true, false, false,  (int)OrderDetailsFieldIndex.ProductId, 0, 0, 10);
			base.AddElementFieldInfo("OrderDetailsEntity", "UnitPrice", typeof(System.Decimal), false, false, false, false,  (int)OrderDetailsFieldIndex.UnitPrice, 0, 4, 19);
			base.AddElementFieldInfo("OrderDetailsEntity", "Quantity", typeof(System.Int16), false, false, false, false,  (int)OrderDetailsFieldIndex.Quantity, 0, 0, 5);
			base.AddElementFieldInfo("OrderDetailsEntity", "Discount", typeof(System.Single), false, false, false, false,  (int)OrderDetailsFieldIndex.Discount, 0, 0, 24);
		}
		/// <summary>Inits OrderDetailsExtendedEntity's FieldInfo objects</summary>
		private void InitOrderDetailsExtendedEntityInfos()
		{
			base.AddElementFieldInfo("OrderDetailsExtendedEntity", "OrderId", typeof(System.Int32), false, false, false, false,  (int)OrderDetailsExtendedFieldIndex.OrderId, 0, 0, 10);
			base.AddElementFieldInfo("OrderDetailsExtendedEntity", "ProductId", typeof(System.Int32), false, false, false, false,  (int)OrderDetailsExtendedFieldIndex.ProductId, 0, 0, 10);
			base.AddElementFieldInfo("OrderDetailsExtendedEntity", "ProductName", typeof(System.String), false, false, false, false,  (int)OrderDetailsExtendedFieldIndex.ProductName, 40, 0, 0);
			base.AddElementFieldInfo("OrderDetailsExtendedEntity", "UnitPrice", typeof(System.Decimal), false, false, false, false,  (int)OrderDetailsExtendedFieldIndex.UnitPrice, 0, 4, 19);
			base.AddElementFieldInfo("OrderDetailsExtendedEntity", "Quantity", typeof(System.Int16), false, false, false, false,  (int)OrderDetailsExtendedFieldIndex.Quantity, 0, 0, 5);
			base.AddElementFieldInfo("OrderDetailsExtendedEntity", "Discount", typeof(System.Single), false, false, false, false,  (int)OrderDetailsExtendedFieldIndex.Discount, 0, 0, 24);
			base.AddElementFieldInfo("OrderDetailsExtendedEntity", "ExtendedPrice", typeof(System.Decimal), false, false, false, false,  (int)OrderDetailsExtendedFieldIndex.ExtendedPrice, 0, 4, 19);
		}
		/// <summary>Inits OrdersEntity's FieldInfo objects</summary>
		private void InitOrdersEntityInfos()
		{
			base.AddElementFieldInfo("OrdersEntity", "OrderId", typeof(System.Int32), true, false, true, false,  (int)OrdersFieldIndex.OrderId, 0, 0, 10);
			base.AddElementFieldInfo("OrdersEntity", "CustomerId", typeof(System.String), false, true, false, true,  (int)OrdersFieldIndex.CustomerId, 5, 0, 0);
			base.AddElementFieldInfo("OrdersEntity", "EmployeeId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)OrdersFieldIndex.EmployeeId, 0, 0, 10);
			base.AddElementFieldInfo("OrdersEntity", "OrderDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)OrdersFieldIndex.OrderDate, 0, 0, 0);
			base.AddElementFieldInfo("OrdersEntity", "RequiredDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)OrdersFieldIndex.RequiredDate, 0, 0, 0);
			base.AddElementFieldInfo("OrdersEntity", "ShippedDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)OrdersFieldIndex.ShippedDate, 0, 0, 0);
			base.AddElementFieldInfo("OrdersEntity", "ShipVia", typeof(Nullable<System.Int32>), false, true, false, true,  (int)OrdersFieldIndex.ShipVia, 0, 0, 10);
			base.AddElementFieldInfo("OrdersEntity", "Freight", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)OrdersFieldIndex.Freight, 0, 4, 19);
			base.AddElementFieldInfo("OrdersEntity", "ShipName", typeof(System.String), false, false, false, true,  (int)OrdersFieldIndex.ShipName, 40, 0, 0);
			base.AddElementFieldInfo("OrdersEntity", "ShipAddress", typeof(System.String), false, false, false, true,  (int)OrdersFieldIndex.ShipAddress, 60, 0, 0);
			base.AddElementFieldInfo("OrdersEntity", "ShipCity", typeof(System.String), false, false, false, true,  (int)OrdersFieldIndex.ShipCity, 15, 0, 0);
			base.AddElementFieldInfo("OrdersEntity", "ShipRegion", typeof(System.String), false, false, false, true,  (int)OrdersFieldIndex.ShipRegion, 15, 0, 0);
			base.AddElementFieldInfo("OrdersEntity", "ShipPostalCode", typeof(System.String), false, false, false, true,  (int)OrdersFieldIndex.ShipPostalCode, 10, 0, 0);
			base.AddElementFieldInfo("OrdersEntity", "ShipCountry", typeof(System.String), false, false, false, true,  (int)OrdersFieldIndex.ShipCountry, 15, 0, 0);
		}
		/// <summary>Inits OrdersQryEntity's FieldInfo objects</summary>
		private void InitOrdersQryEntityInfos()
		{
			base.AddElementFieldInfo("OrdersQryEntity", "OrderId", typeof(System.Int32), false, false, false, false,  (int)OrdersQryFieldIndex.OrderId, 0, 0, 10);
			base.AddElementFieldInfo("OrdersQryEntity", "CustomerId", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.CustomerId, 5, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "EmployeeId", typeof(System.Int32), false, false, false, false,  (int)OrdersQryFieldIndex.EmployeeId, 0, 0, 10);
			base.AddElementFieldInfo("OrdersQryEntity", "OrderDate", typeof(System.DateTime), false, false, false, false,  (int)OrdersQryFieldIndex.OrderDate, 0, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "RequiredDate", typeof(System.DateTime), false, false, false, false,  (int)OrdersQryFieldIndex.RequiredDate, 0, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "ShippedDate", typeof(System.DateTime), false, false, false, false,  (int)OrdersQryFieldIndex.ShippedDate, 0, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "ShipVia", typeof(System.Int32), false, false, false, false,  (int)OrdersQryFieldIndex.ShipVia, 0, 0, 10);
			base.AddElementFieldInfo("OrdersQryEntity", "Freight", typeof(System.Decimal), false, false, false, false,  (int)OrdersQryFieldIndex.Freight, 0, 4, 19);
			base.AddElementFieldInfo("OrdersQryEntity", "ShipName", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.ShipName, 40, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "ShipAddress", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.ShipAddress, 60, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "ShipCity", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.ShipCity, 15, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "ShipRegion", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.ShipRegion, 15, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "ShipPostalCode", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.ShipPostalCode, 10, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "ShipCountry", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.ShipCountry, 15, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "CompanyName", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.CompanyName, 40, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "Address", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.Address, 60, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "City", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.City, 15, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "Region", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.Region, 15, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "PostalCode", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.PostalCode, 10, 0, 0);
			base.AddElementFieldInfo("OrdersQryEntity", "Country", typeof(System.String), false, false, false, false,  (int)OrdersQryFieldIndex.Country, 15, 0, 0);
		}
		/// <summary>Inits OrderSubtotalsEntity's FieldInfo objects</summary>
		private void InitOrderSubtotalsEntityInfos()
		{
			base.AddElementFieldInfo("OrderSubtotalsEntity", "OrderId", typeof(System.Int32), false, false, false, false,  (int)OrderSubtotalsFieldIndex.OrderId, 0, 0, 10);
			base.AddElementFieldInfo("OrderSubtotalsEntity", "Subtotal", typeof(System.Decimal), false, false, false, false,  (int)OrderSubtotalsFieldIndex.Subtotal, 0, 4, 19);
		}
		/// <summary>Inits ProductsEntity's FieldInfo objects</summary>
		private void InitProductsEntityInfos()
		{
			base.AddElementFieldInfo("ProductsEntity", "ProductId", typeof(System.Int32), true, false, true, false,  (int)ProductsFieldIndex.ProductId, 0, 0, 10);
			base.AddElementFieldInfo("ProductsEntity", "ProductName", typeof(System.String), false, false, false, false,  (int)ProductsFieldIndex.ProductName, 40, 0, 0);
			base.AddElementFieldInfo("ProductsEntity", "SupplierId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)ProductsFieldIndex.SupplierId, 0, 0, 10);
			base.AddElementFieldInfo("ProductsEntity", "CategoryId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)ProductsFieldIndex.CategoryId, 0, 0, 10);
			base.AddElementFieldInfo("ProductsEntity", "QuantityPerUnit", typeof(System.String), false, false, false, true,  (int)ProductsFieldIndex.QuantityPerUnit, 20, 0, 0);
			base.AddElementFieldInfo("ProductsEntity", "UnitPrice", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)ProductsFieldIndex.UnitPrice, 0, 4, 19);
			base.AddElementFieldInfo("ProductsEntity", "UnitsInStock", typeof(Nullable<System.Int16>), false, false, false, true,  (int)ProductsFieldIndex.UnitsInStock, 0, 0, 5);
			base.AddElementFieldInfo("ProductsEntity", "UnitsOnOrder", typeof(Nullable<System.Int16>), false, false, false, true,  (int)ProductsFieldIndex.UnitsOnOrder, 0, 0, 5);
			base.AddElementFieldInfo("ProductsEntity", "ReorderLevel", typeof(Nullable<System.Int16>), false, false, false, true,  (int)ProductsFieldIndex.ReorderLevel, 0, 0, 5);
			base.AddElementFieldInfo("ProductsEntity", "Discontinued", typeof(System.Boolean), false, false, false, false,  (int)ProductsFieldIndex.Discontinued, 0, 0, 0);
		}
		/// <summary>Inits ProductsAboveAveragePriceEntity's FieldInfo objects</summary>
		private void InitProductsAboveAveragePriceEntityInfos()
		{
			base.AddElementFieldInfo("ProductsAboveAveragePriceEntity", "ProductName", typeof(System.String), false, false, false, false,  (int)ProductsAboveAveragePriceFieldIndex.ProductName, 40, 0, 0);
			base.AddElementFieldInfo("ProductsAboveAveragePriceEntity", "UnitPrice", typeof(System.Decimal), false, false, false, false,  (int)ProductsAboveAveragePriceFieldIndex.UnitPrice, 0, 4, 19);
		}
		/// <summary>Inits ProductSalesFor1997Entity's FieldInfo objects</summary>
		private void InitProductSalesFor1997EntityInfos()
		{
			base.AddElementFieldInfo("ProductSalesFor1997Entity", "CategoryName", typeof(System.String), false, false, false, false,  (int)ProductSalesFor1997FieldIndex.CategoryName, 15, 0, 0);
			base.AddElementFieldInfo("ProductSalesFor1997Entity", "ProductName", typeof(System.String), false, false, false, false,  (int)ProductSalesFor1997FieldIndex.ProductName, 40, 0, 0);
			base.AddElementFieldInfo("ProductSalesFor1997Entity", "ProductSales", typeof(System.Decimal), false, false, false, false,  (int)ProductSalesFor1997FieldIndex.ProductSales, 0, 4, 19);
		}
		/// <summary>Inits ProductsByCategoryEntity's FieldInfo objects</summary>
		private void InitProductsByCategoryEntityInfos()
		{
			base.AddElementFieldInfo("ProductsByCategoryEntity", "CategoryName", typeof(System.String), false, false, false, false,  (int)ProductsByCategoryFieldIndex.CategoryName, 15, 0, 0);
			base.AddElementFieldInfo("ProductsByCategoryEntity", "ProductName", typeof(System.String), false, false, false, false,  (int)ProductsByCategoryFieldIndex.ProductName, 40, 0, 0);
			base.AddElementFieldInfo("ProductsByCategoryEntity", "QuantityPerUnit", typeof(System.String), false, false, false, false,  (int)ProductsByCategoryFieldIndex.QuantityPerUnit, 20, 0, 0);
			base.AddElementFieldInfo("ProductsByCategoryEntity", "UnitsInStock", typeof(System.Int16), false, false, false, false,  (int)ProductsByCategoryFieldIndex.UnitsInStock, 0, 0, 5);
			base.AddElementFieldInfo("ProductsByCategoryEntity", "Discontinued", typeof(System.Boolean), false, false, false, false,  (int)ProductsByCategoryFieldIndex.Discontinued, 0, 0, 0);
		}
		/// <summary>Inits QuarterlyOrdersEntity's FieldInfo objects</summary>
		private void InitQuarterlyOrdersEntityInfos()
		{
			base.AddElementFieldInfo("QuarterlyOrdersEntity", "CustomerId", typeof(System.String), false, false, false, false,  (int)QuarterlyOrdersFieldIndex.CustomerId, 5, 0, 0);
			base.AddElementFieldInfo("QuarterlyOrdersEntity", "CompanyName", typeof(System.String), false, false, false, false,  (int)QuarterlyOrdersFieldIndex.CompanyName, 40, 0, 0);
			base.AddElementFieldInfo("QuarterlyOrdersEntity", "City", typeof(System.String), false, false, false, false,  (int)QuarterlyOrdersFieldIndex.City, 15, 0, 0);
			base.AddElementFieldInfo("QuarterlyOrdersEntity", "Country", typeof(System.String), false, false, false, false,  (int)QuarterlyOrdersFieldIndex.Country, 15, 0, 0);
		}
		/// <summary>Inits RegionEntity's FieldInfo objects</summary>
		private void InitRegionEntityInfos()
		{
			base.AddElementFieldInfo("RegionEntity", "RegionId", typeof(System.Int32), true, false, false, false,  (int)RegionFieldIndex.RegionId, 0, 0, 10);
			base.AddElementFieldInfo("RegionEntity", "RegionDescription", typeof(System.String), false, false, false, false,  (int)RegionFieldIndex.RegionDescription, 50, 0, 0);
		}
		/// <summary>Inits SalesByCategoryEntity's FieldInfo objects</summary>
		private void InitSalesByCategoryEntityInfos()
		{
			base.AddElementFieldInfo("SalesByCategoryEntity", "CategoryId", typeof(System.Int32), false, false, false, false,  (int)SalesByCategoryFieldIndex.CategoryId, 0, 0, 10);
			base.AddElementFieldInfo("SalesByCategoryEntity", "CategoryName", typeof(System.String), false, false, false, false,  (int)SalesByCategoryFieldIndex.CategoryName, 15, 0, 0);
			base.AddElementFieldInfo("SalesByCategoryEntity", "ProductName", typeof(System.String), false, false, false, false,  (int)SalesByCategoryFieldIndex.ProductName, 40, 0, 0);
			base.AddElementFieldInfo("SalesByCategoryEntity", "ProductSales", typeof(System.Decimal), false, false, false, false,  (int)SalesByCategoryFieldIndex.ProductSales, 0, 4, 19);
		}
		/// <summary>Inits SalesTotalsByAmountEntity's FieldInfo objects</summary>
		private void InitSalesTotalsByAmountEntityInfos()
		{
			base.AddElementFieldInfo("SalesTotalsByAmountEntity", "SaleAmount", typeof(System.Decimal), false, false, false, false,  (int)SalesTotalsByAmountFieldIndex.SaleAmount, 0, 4, 19);
			base.AddElementFieldInfo("SalesTotalsByAmountEntity", "OrderId", typeof(System.Int32), false, false, false, false,  (int)SalesTotalsByAmountFieldIndex.OrderId, 0, 0, 10);
			base.AddElementFieldInfo("SalesTotalsByAmountEntity", "CompanyName", typeof(System.String), false, false, false, false,  (int)SalesTotalsByAmountFieldIndex.CompanyName, 40, 0, 0);
			base.AddElementFieldInfo("SalesTotalsByAmountEntity", "ShippedDate", typeof(System.DateTime), false, false, false, false,  (int)SalesTotalsByAmountFieldIndex.ShippedDate, 0, 0, 0);
		}
		/// <summary>Inits ShippersEntity's FieldInfo objects</summary>
		private void InitShippersEntityInfos()
		{
			base.AddElementFieldInfo("ShippersEntity", "ShipperId", typeof(System.Int32), true, false, true, false,  (int)ShippersFieldIndex.ShipperId, 0, 0, 10);
			base.AddElementFieldInfo("ShippersEntity", "CompanyName", typeof(System.String), false, false, false, false,  (int)ShippersFieldIndex.CompanyName, 40, 0, 0);
			base.AddElementFieldInfo("ShippersEntity", "Phone", typeof(System.String), false, false, false, true,  (int)ShippersFieldIndex.Phone, 24, 0, 0);
		}
		/// <summary>Inits SummaryOfSalesByQuarterEntity's FieldInfo objects</summary>
		private void InitSummaryOfSalesByQuarterEntityInfos()
		{
			base.AddElementFieldInfo("SummaryOfSalesByQuarterEntity", "ShippedDate", typeof(System.DateTime), false, false, false, false,  (int)SummaryOfSalesByQuarterFieldIndex.ShippedDate, 0, 0, 0);
			base.AddElementFieldInfo("SummaryOfSalesByQuarterEntity", "OrderId", typeof(System.Int32), false, false, false, false,  (int)SummaryOfSalesByQuarterFieldIndex.OrderId, 0, 0, 10);
			base.AddElementFieldInfo("SummaryOfSalesByQuarterEntity", "Subtotal", typeof(System.Decimal), false, false, false, false,  (int)SummaryOfSalesByQuarterFieldIndex.Subtotal, 0, 4, 19);
		}
		/// <summary>Inits SummaryOfSalesByYearEntity's FieldInfo objects</summary>
		private void InitSummaryOfSalesByYearEntityInfos()
		{
			base.AddElementFieldInfo("SummaryOfSalesByYearEntity", "ShippedDate", typeof(System.DateTime), false, false, false, false,  (int)SummaryOfSalesByYearFieldIndex.ShippedDate, 0, 0, 0);
			base.AddElementFieldInfo("SummaryOfSalesByYearEntity", "OrderId", typeof(System.Int32), false, false, false, false,  (int)SummaryOfSalesByYearFieldIndex.OrderId, 0, 0, 10);
			base.AddElementFieldInfo("SummaryOfSalesByYearEntity", "Subtotal", typeof(System.Decimal), false, false, false, false,  (int)SummaryOfSalesByYearFieldIndex.Subtotal, 0, 4, 19);
		}
		/// <summary>Inits SuppliersEntity's FieldInfo objects</summary>
		private void InitSuppliersEntityInfos()
		{
			base.AddElementFieldInfo("SuppliersEntity", "SupplierId", typeof(System.Int32), true, false, true, false,  (int)SuppliersFieldIndex.SupplierId, 0, 0, 10);
			base.AddElementFieldInfo("SuppliersEntity", "CompanyName", typeof(System.String), false, false, false, false,  (int)SuppliersFieldIndex.CompanyName, 40, 0, 0);
			base.AddElementFieldInfo("SuppliersEntity", "ContactName", typeof(System.String), false, false, false, true,  (int)SuppliersFieldIndex.ContactName, 30, 0, 0);
			base.AddElementFieldInfo("SuppliersEntity", "ContactTitle", typeof(System.String), false, false, false, true,  (int)SuppliersFieldIndex.ContactTitle, 30, 0, 0);
			base.AddElementFieldInfo("SuppliersEntity", "Address", typeof(System.String), false, false, false, true,  (int)SuppliersFieldIndex.Address, 60, 0, 0);
			base.AddElementFieldInfo("SuppliersEntity", "City", typeof(System.String), false, false, false, true,  (int)SuppliersFieldIndex.City, 15, 0, 0);
			base.AddElementFieldInfo("SuppliersEntity", "Region", typeof(System.String), false, false, false, true,  (int)SuppliersFieldIndex.Region, 15, 0, 0);
			base.AddElementFieldInfo("SuppliersEntity", "PostalCode", typeof(System.String), false, false, false, true,  (int)SuppliersFieldIndex.PostalCode, 10, 0, 0);
			base.AddElementFieldInfo("SuppliersEntity", "Country", typeof(System.String), false, false, false, true,  (int)SuppliersFieldIndex.Country, 15, 0, 0);
			base.AddElementFieldInfo("SuppliersEntity", "Phone", typeof(System.String), false, false, false, true,  (int)SuppliersFieldIndex.Phone, 24, 0, 0);
			base.AddElementFieldInfo("SuppliersEntity", "Fax", typeof(System.String), false, false, false, true,  (int)SuppliersFieldIndex.Fax, 24, 0, 0);
			base.AddElementFieldInfo("SuppliersEntity", "HomePage", typeof(System.String), false, false, false, true,  (int)SuppliersFieldIndex.HomePage, 1073741823, 0, 0);
		}
		/// <summary>Inits TerritoriesEntity's FieldInfo objects</summary>
		private void InitTerritoriesEntityInfos()
		{
			base.AddElementFieldInfo("TerritoriesEntity", "TerritoryId", typeof(System.String), true, false, false, false,  (int)TerritoriesFieldIndex.TerritoryId, 20, 0, 0);
			base.AddElementFieldInfo("TerritoriesEntity", "TerritoryDescription", typeof(System.String), false, false, false, false,  (int)TerritoriesFieldIndex.TerritoryDescription, 50, 0, 0);
			base.AddElementFieldInfo("TerritoriesEntity", "RegionId", typeof(System.Int32), false, true, false, false,  (int)TerritoriesFieldIndex.RegionId, 0, 0, 10);
		}
		
	}
}




